Scroll to navigation

OPENDIR(3) Manuel du programmeur Linux OPENDIR(3)

NOM

opendir, fdopendir - Ouvrir un répertoire

SYNOPSIS

#include <sys/types.h>

#include <dirent.h> DIR *opendir(const char *nom); DIR *fdopendir(int fd);

DESCRIPTION

La fonction opendir() ouvre un flux répertoire correspondant au répertoire nom, et renvoie un pointeur sur ce flux. Le flux est positionné sur la première entrée du répertoire.

La fonction fdopendir() est similaire à opendir(), mais renvoie un flux de répertoire pour le répertoire demandé avec le descripteur de fichier fd ouvert. Après un appel réussi à fdopendir(), fd est utilisé en interne par l'implémentation, et ne doit plus être utilisé par l'application.

VALEUR RENVOYÉE

Les fonctions opendir() et fdopendir() renvoient un pointeur sur le flux répertoire. Si une erreur se produit, NULL est renvoyé, et errno contient le code d'erreur.

ERREURS

Accès interdit.
fd n'est pas un descripteur de fichier valable ouvert en lecture.
Trop de descripteurs de fichier pour le processus en cours.
Trop de fichiers ouverts simultanément sur le système.
Le répertoire n'existe pas, ou nom est une chaîne vide.
Pas assez de mémoire pour terminer l'opération.
nom n'est pas un répertoire

VERSIONS

fdopendir() est disponible dans la glibc depuis la version 2.4.

CONFORMITÉ

opendir() est présente dans SVr4, BSD 4.3 et spécifiée dans POSIX.1-2001. fdopendir() est spécifiée dans POSIX.1-2008.

NOTES

Le descripteur sous-jacent à un flux répertoire peut être obtenu avec dirfd(3).

La fonction opendir() définit l'attribut « close-on-exec » pour le descripteur de fichier sous-jacent à DIR *. La fonction fdopendir() laisse inchangée la configuration de l'attribut « close-on-exec » pour le descripteur de fichier fd. POSIX.1-200x laisse ouvert la le fait que l'attribut close-on-exec du descripteur de fichier fd soit positionné ou non par un appel réussi à fdopendir().

VOIR AUSSI

open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)

COLOPHON

Cette page fait partie de la publication 3.23 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <URL:http://alioth.debian.org/projects/perkamon/>.

Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-l10n-fr@lists.alioth.debian.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».

6 août 2008 GNU